[INFO] cloning repository https://github.com/megamsys/rust_cli
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/megamsys/rust_cli" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmegamsys%2Frust_cli", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmegamsys%2Frust_cli'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] ecd34be872ff6ba8335aab2343c7aeaaecb991cf
[INFO] checking megamsys/rust_cli against master#af3c6e733a40e671550e0f0f5aeecaa13772ba56 for pr-74989
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fmegamsys%2Frust_cli" "/workspace/builds/worker-7/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-7/source'...
[INFO] [stderr] done.
[INFO] validating manifest of git repo https://github.com/megamsys/rust_cli on toolchain af3c6e733a40e671550e0f0f5aeecaa13772ba56
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "read-manifest" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] started tweaking git repo https://github.com/megamsys/rust_cli
[INFO] removed 0 missing tests
[INFO] finished tweaking git repo https://github.com/megamsys/rust_cli
[INFO] tweaked toml for git repo https://github.com/megamsys/rust_cli written to /workspace/builds/worker-7/source/Cargo.toml
[INFO] crate git repo https://github.com/megamsys/rust_cli already has a lockfile, it will not be regenerated
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-7/source/tests/test_shell.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr] error: the lock file /workspace/builds/worker-7/source/Cargo.lock needs to be updated but --locked was passed to prevent this
[INFO] [stderr] If you want to try to generate the lock file without accessing the network, use the --offline flag.
[INFO] the lockfile is outdated, regenerating it
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "generate-lockfile" "--manifest-path" "Cargo.toml" "-Zno-index-update", kill_on_drop: false }`
[INFO] running `Command { std: "/workspace/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "fetch" "--locked" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /workspace/builds/worker-7/source/tests/test_shell.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]     Blocking waiting for file lock on package cache
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] 14b1b24119933b94602876d0e988792773de5f1f2690f350e89f9c57eaa8af07
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "14b1b24119933b94602876d0e988792773de5f1f2690f350e89f9c57eaa8af07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "14b1b24119933b94602876d0e988792773de5f1f2690f350e89f9c57eaa8af07", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "14b1b24119933b94602876d0e988792773de5f1f2690f350e89f9c57eaa8af07", kill_on_drop: false }`
[INFO] [stdout] 14b1b24119933b94602876d0e988792773de5f1f2690f350e89f9c57eaa8af07
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-7/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "rustops/crates-build-env@sha256:d92eaeed33fa75130ca1ee6c8a01d1ffb62bac859dfdfb3450e3e5d1c0146529" "/opt/rustwide/cargo-home/bin/cargo" "+af3c6e733a40e671550e0f0f5aeecaa13772ba56" "check" "--frozen" "--all" "--all-targets" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] e3f2fe795c5307829fb2be20fccb8a16abf656f0f78977737bb12815dc94b125
[INFO] [stderr] WARNING: Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap.
[INFO] running `Command { std: "docker" "start" "-a" "e3f2fe795c5307829fb2be20fccb8a16abf656f0f78977737bb12815dc94b125", kill_on_drop: false }`
[INFO] [stderr] warning: An explicit [[test]] section is specified in Cargo.toml which currently
[INFO] [stderr] disables Cargo from automatically inferring other test targets.
[INFO] [stderr] This inference behavior will change in the Rust 2018 edition and the following
[INFO] [stderr] files will be included as a test target:
[INFO] [stderr] 
[INFO] [stderr] * /opt/rustwide/workdir/tests/test_shell.rs
[INFO] [stderr] 
[INFO] [stderr] This is likely to break cargo build or cargo test as these files may not be
[INFO] [stderr] ready to be compiled as a test target today. You can future-proof yourself
[INFO] [stderr] and disable this warning by adding `autotests = false` to your [package]
[INFO] [stderr] section. You may also move the files to a location where Cargo would not
[INFO] [stderr] automatically infer them to be a target, such as in subfolders.
[INFO] [stderr] 
[INFO] [stderr] For more information on this warning you can consult
[INFO] [stderr] https://github.com/rust-lang/cargo/issues/5330
[INFO] [stderr]    Compiling winapi-build v0.1.1
[INFO] [stderr]     Checking winapi v0.2.8
[INFO] [stderr]     Checking utf8-ranges v0.1.3
[INFO] [stderr]     Checking regex-syntax v0.3.9
[INFO] [stderr]     Checking lazy_static v0.2.11
[INFO] [stderr]     Checking strsim v0.5.2
[INFO] [stderr]     Checking libc v0.1.12
[INFO] [stderr]     Checking remove_dir_all v0.5.3
[INFO] [stderr]     Checking memchr v0.1.11
[INFO] [stderr]     Checking tempdir v0.3.7
[INFO] [stderr]     Checking aho-corasick v0.5.3
[INFO] [stderr]    Compiling kernel32-sys v0.2.2
[INFO] [stderr]     Checking thread-id v2.0.0
[INFO] [stderr]     Checking term v0.2.14
[INFO] [stderr]     Checking thread_local v0.2.7
[INFO] [stderr]     Checking regex v0.1.80
[INFO] [stderr]     Checking env_logger v0.3.5
[INFO] [stderr]     Checking docopt v0.6.86
[INFO] [stderr]     Checking rust_cli v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0463]: can't find crate for `hamcrest`
[INFO] [stdout]  --> src/turbo/lib.rs:6:14
[INFO] [stdout]   |
[INFO] [stdout] 6 | #[cfg(test)] extern crate hamcrest;
[INFO] [stdout]   |              ^^^^^^^^^^^^^^^^^^^^^^ can't find crate
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to previous error
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0463`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `rust_cli`.
[INFO] [stderr] 
[INFO] [stderr] To learn more, run the command again with --verbose.
[INFO] [stderr] warning: build failed, waiting for other jobs to finish...
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/util/errors.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         try!(write!(f, "{}", self.description));
[INFO] [stdout]     |         ^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/util/errors.rs:141:13
[INFO] [stdout]     |
[INFO] [stdout] 141 |             try!(write!(f, " ({})", s));
[INFO] [stdout]     |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/util/process_builder.rs:20:9
[INFO] [stdout]    |
[INFO] [stdout] 20 |         try!(write!(f, "`{}", self.program.to_string_lossy()));
[INFO] [stdout]    |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/util/process_builder.rs:23:13
[INFO] [stdout]    |
[INFO] [stdout] 23 |             try!(write!(f, " {}", arg.to_string_lossy()));
[INFO] [stdout]    |             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/util/process_builder.rs:73:20
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let exit = try!(command.status().map_err(|e| {
[INFO] [stdout]    |                    ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/util/process_builder.rs:91:22
[INFO] [stdout]    |
[INFO] [stdout] 91 |         let output = try!(command.output().map_err(|e| {
[INFO] [stdout]    |                      ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/util/process_builder.rs:136:14
[INFO] [stdout]     |
[INFO] [stdout] 136 |         cwd: try!(env::current_dir()).as_os_str().to_os_string(),
[INFO] [stdout]     |              ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:123:9
[INFO] [stdout]     |
[INFO] [stdout] 123 |         try!(self.reset());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:124:29
[INFO] [stdout]     |
[INFO] [stdout] 124 |         if color != BLACK { try!(self.fg(color)); }
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:125:9
[INFO] [stdout]     |
[INFO] [stdout] 125 |         try!(write!(self, "{}\n", message.to_string()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:126:9
[INFO] [stdout]     |
[INFO] [stdout] 126 |         try!(self.reset());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:127:9
[INFO] [stdout]     |
[INFO] [stdout] 127 |         try!(self.flush());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:135:9
[INFO] [stdout]     |
[INFO] [stdout] 135 |         try!(self.reset());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:136:29
[INFO] [stdout]     |
[INFO] [stdout] 136 |         if color != BLACK { try!(self.fg(color)); }
[INFO] [stdout]     |                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:137:45
[INFO] [stdout]     |
[INFO] [stdout] 137 |         if self.supports_attr(Attr::Bold) { try!(self.attr(Attr::Bold)); }
[INFO] [stdout]     |                                             ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:138:9
[INFO] [stdout]     |
[INFO] [stdout] 138 |         try!(write!(self, "{:>12}", status.to_string()));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:139:9
[INFO] [stdout]     |
[INFO] [stdout] 139 |         try!(self.reset());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:140:9
[INFO] [stdout]     |
[INFO] [stdout] 140 |         try!(write!(self, " {}\n", message));
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/core/shell.rs:141:9
[INFO] [stdout]     |
[INFO] [stdout] 141 |         try!(self.flush());
[INFO] [stdout]     |         ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/turbo.rs:37:17
[INFO] [stdout]    |
[INFO] [stdout] 37 |     let flags = try!(flags_from_args::<T>(usage, args, options_first));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/turbo.rs:38:16
[INFO] [stdout]    |
[INFO] [stdout] 38 |     let json = try!(json_from_stdin::<U>());
[INFO] [stdout]    |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/turbo.rs:62:17
[INFO] [stdout]    |
[INFO] [stdout] 62 |     let flags = try!(flags_from_args::<T>(usage, args, options_first));
[INFO] [stdout]    |                 ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/turbo.rs:72:23
[INFO] [stdout]    |
[INFO] [stdout] 72 |         config = Some(try!(Config::new(shell(true))));
[INFO] [stdout]    |                       ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]   --> src/turbo/turbo.rs:73:28
[INFO] [stdout]    |
[INFO] [stdout] 73 |         let args: Vec<_> = try!(env::args_os().map(|s| {
[INFO] [stdout]    |                            ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/turbo.rs:207:5
[INFO] [stdout]     |
[INFO] [stdout] 207 |     try!(reader.read_to_string(&mut input).map_err(|_| {
[INFO] [stdout]     |     ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated macro `try`: use the `?` operator instead
[INFO] [stdout]    --> src/turbo/turbo.rs:211:16
[INFO] [stdout]     |
[INFO] [stdout] 211 |     let json = try!(Json::from_str(&input).map_err(|_| {
[INFO] [stdout]     |                ^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]  --> src/turbo/util/errors.rs:9:41
[INFO] [stdout]   |
[INFO] [stdout] 9 | pub type TurboResult<T> = Result<T, Box<TurboError>>;
[INFO] [stdout]   |                                         ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(bare_trait_objects)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:16:38
[INFO] [stdout]    |
[INFO] [stdout] 16 |     fn turbo_cause(&self) -> Option<&TurboError>{ None }
[INFO] [stdout]    |                                      ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:19:20
[INFO] [stdout]    |
[INFO] [stdout] 19 | impl Error for Box<TurboError> {
[INFO] [stdout]    |                    ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:21:32
[INFO] [stdout]    |
[INFO] [stdout] 21 |     fn cause(&self) -> Option<&Error> { (**self).cause() }
[INFO] [stdout]    |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:24:25
[INFO] [stdout]    |
[INFO] [stdout] 24 | impl TurboError for Box<TurboError> {
[INFO] [stdout]    |                         ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:26:38
[INFO] [stdout]    |
[INFO] [stdout] 26 |     fn turbo_cause(&self) -> Option<&TurboError> { (**self).turbo_cause() }
[INFO] [stdout]    |                                      ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:40:16
[INFO] [stdout]    |
[INFO] [stdout] 40 |     cause: Box<TurboError>,
[INFO] [stdout]    |                ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:58:23
[INFO] [stdout]    |
[INFO] [stdout] 58 |             }) as Box<TurboError>
[INFO] [stdout]    |                       ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:63:31
[INFO] [stdout]    |
[INFO] [stdout] 63 | impl<T> ChainError<T> for Box<TurboError> {
[INFO] [stdout]    |                               ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/util/errors.rs:95:38
[INFO] [stdout]    |
[INFO] [stdout] 95 |     fn turbo_cause(&self) -> Option<&TurboError> { Some(&*self.cause) }
[INFO] [stdout]    |                                      ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:111:32
[INFO] [stdout]     |
[INFO] [stdout] 111 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:112:43
[INFO] [stdout]     |
[INFO] [stdout] 112 |         self.cause.as_ref().map(|s| s as &Error)
[INFO] [stdout]     |                                           ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:133:23
[INFO] [stdout]     |
[INFO] [stdout] 133 |     cause: Option<Box<Error+Send>>,
[INFO] [stdout]     |                       ^^^^^^^^^^ help: use `dyn`: `dyn Error+Send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:154:32
[INFO] [stdout]     |
[INFO] [stdout] 154 |     fn cause(&self) -> Option<&Error> {
[INFO] [stdout]     |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:156:21
[INFO] [stdout]     |
[INFO] [stdout] 156 |             let e: &Error = &**c; e
[INFO] [stdout]     |                     ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:175:32
[INFO] [stdout]     |
[INFO] [stdout] 175 |     fn cause(&self) -> Option<&Error> { self.0.cause() }
[INFO] [stdout]     |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:186:38
[INFO] [stdout]     |
[INFO] [stdout] 186 |     fn turbo_cause(&self) -> Option<&TurboError> { self.0.turbo_cause() }
[INFO] [stdout]     |                                      ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:196:20
[INFO] [stdout]     |
[INFO] [stdout] 196 |     pub error: Box<TurboError>,
[INFO] [stdout]     |                    ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:203:32
[INFO] [stdout]     |
[INFO] [stdout] 203 |     fn cause(&self) -> Option<&Error> { self.error.cause() }
[INFO] [stdout]     |                                ^^^^^ help: use `dyn`: `dyn Error`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:223:34
[INFO] [stdout]     |
[INFO] [stdout] 223 |     pub fn from_boxed(error: Box<TurboError>, code: i32) -> CliError {
[INFO] [stdout]     |                                  ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:229:15
[INFO] [stdout]     |
[INFO] [stdout] 229 | impl From<Box<TurboError>> for CliError {
[INFO] [stdout]     |               ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:230:22
[INFO] [stdout]     |
[INFO] [stdout] 230 |     fn from(err: Box<TurboError>) -> CliError {
[INFO] [stdout]     |                      ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:240:33
[INFO] [stdout]     |
[INFO] [stdout] 240 |           $(impl From<$p> for Box<TurboError> {
[INFO] [stdout]     |                                   ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] ...
[INFO] [stdout] 246 | / from_error! {
[INFO] [stdout] 247 | |     io::Error,
[INFO] [stdout] 248 | |     ProcessError,
[INFO] [stdout] 249 | |     json::DecoderError,
[INFO] [stdout] 250 | |     CliError,
[INFO] [stdout] 251 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:241:35
[INFO] [stdout]     |
[INFO] [stdout] 241 |               fn from(t: $p) -> Box<TurboError> { Box::new(t) }
[INFO] [stdout]     |                                     ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] ...
[INFO] [stdout] 246 | / from_error! {
[INFO] [stdout] 247 | |     io::Error,
[INFO] [stdout] 248 | |     ProcessError,
[INFO] [stdout] 249 | |     json::DecoderError,
[INFO] [stdout] 250 | |     CliError,
[INFO] [stdout] 251 | | }
[INFO] [stdout]     | |_- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: this warning originates in a macro (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:253:44
[INFO] [stdout]     |
[INFO] [stdout] 253 | impl<E: TurboError> From<Human<E>> for Box<TurboError> {
[INFO] [stdout]     |                                            ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:254:33
[INFO] [stdout]     |
[INFO] [stdout] 254 |     fn from(t: Human<E>) -> Box<TurboError> { Box::new(t) }
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:300:57
[INFO] [stdout]     |
[INFO] [stdout] 300 | pub fn internal_error(error: &str, detail: &str) -> Box<TurboError> {
[INFO] [stdout]     |                                                         ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:309:51
[INFO] [stdout]     |
[INFO] [stdout] 309 | pub fn internal<S: fmt::Display>(error: S) -> Box<TurboError> {
[INFO] [stdout]     |                                                   ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:318:48
[INFO] [stdout]     |
[INFO] [stdout] 318 | pub fn human<S: fmt::Display>(error: S) -> Box<TurboError> {
[INFO] [stdout]     |                                                ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/util/errors.rs:327:54
[INFO] [stdout]     |
[INFO] [stdout] 327 | pub fn caused_human<S, E>(error: S, cause: E) -> Box<TurboError>
[INFO] [stdout]     |                                                      ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/core/shell.rs:19:17
[INFO] [stdout]    |
[INFO] [stdout] 19 |     NoColor(Box<Write + Send>),
[INFO] [stdout]    |                 ^^^^^^^^^^^^ help: use `dyn`: `dyn Write + Send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/core/shell.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Colored(Box<Terminal<UghWhyIsThisNecessary> + Send>)
[INFO] [stdout]    |                 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: use `dyn`: `dyn Terminal<UghWhyIsThisNecessary> + Send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/core/shell.rs:35:16
[INFO] [stdout]    |
[INFO] [stdout] 35 |     inner: Box<Write + Send>,
[INFO] [stdout]    |                ^^^^^^^^^^^^ help: use `dyn`: `dyn Write + Send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]   --> src/turbo/core/shell.rs:93:28
[INFO] [stdout]    |
[INFO] [stdout] 93 |     pub fn create(out: Box<Write + Send>, config: ShellConfig) -> Shell {
[INFO] [stdout]    |                            ^^^^^^^^^^^^ help: use `dyn`: `dyn Write + Send`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: trait objects without an explicit `dyn` are deprecated
[INFO] [stdout]    --> src/turbo/turbo.rs:164:33
[INFO] [stdout]     |
[INFO] [stdout] 164 | fn handle_cause(mut turbo_err: &TurboError, shell: &mut MultiShell) -> bool {
[INFO] [stdout]     |                                 ^^^^^^^^^^ help: use `dyn`: `dyn TurboError`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0107]: wrong number of type arguments: expected 0, found 1
[INFO] [stdout]   --> src/turbo/core/shell.rs:20:26
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Colored(Box<Terminal<UghWhyIsThisNecessary> + Send>)
[INFO] [stdout]    |                          ^^^^^^^^^^^^^^^^^^^^^ unexpected type argument
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0191]: the value of the associated type `Output` (from trait `Terminal`) must be specified
[INFO] [stdout]   --> src/turbo/core/shell.rs:20:17
[INFO] [stdout]    |
[INFO] [stdout] 20 |     Colored(Box<Terminal<UghWhyIsThisNecessary> + Send>)
[INFO] [stdout]    |                 ^^^^^^^^^---------------------^
[INFO] [stdout]    |                          |
[INFO] [stdout]    |                          help: specify the associated type: `Output = UghWhyIsThisNecessary`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: aborting due to 2 previous errors; 61 warnings emitted
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] Some errors have detailed explanations: E0107, E0191.
[INFO] [stdout] 
[INFO] [stdout] For more information about an error, try `rustc --explain E0107`.
[INFO] [stdout] 
[INFO] [stderr] error: build failed
[INFO] running `Command { std: "docker" "inspect" "e3f2fe795c5307829fb2be20fccb8a16abf656f0f78977737bb12815dc94b125", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e3f2fe795c5307829fb2be20fccb8a16abf656f0f78977737bb12815dc94b125", kill_on_drop: false }`
[INFO] [stdout] e3f2fe795c5307829fb2be20fccb8a16abf656f0f78977737bb12815dc94b125
